home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d15 / mewin.arc / EMACS.RC < prev    next >
Text File  |  1991-03-12  |  6KB  |  249 lines

  1. ;    EMACS.RC:    Standard micro Startup program
  2. ;            for MicroEMACS 3.9d and above
  3. ;            (C)opyright 1987 by Daniel M Lawrence
  4. ;            Last Update: 10/20/87
  5.  
  6. set $discmd FALSE
  7. write-message "[Setting up....]"
  8.  
  9. ; If you screen "SNOWS", comment this line
  10.     set $flicker "FALSE"
  11.  
  12. ; To use an IBM-PC EGA card, uncomment the following line
  13. ;    set $sres "EGA"
  14. ;
  15.  
  16. ;    ***** Rebind the Function key group
  17.  
  18. bind-to-key search-forward        FN1
  19. bind-to-key search-reverse        FN2
  20. bind-to-key hunt-forward        FN3
  21. bind-to-key hunt-backward        FN4
  22. bind-to-key execute-macro-1        FN5
  23. bind-to-key execute-macro-2        FN6
  24. bind-to-key next-window            FN7
  25. bind-to-key execute-macro-3        FN8
  26. bind-to-key save-file            FN9
  27. bind-to-key exit-emacs            FN0
  28.  
  29. bind-to-key execute-macro-10        S-FN1
  30. bind-to-key execute-macro-11        S-FN2
  31. bind-to-key execute-macro-12        S-FN3
  32. bind-to-key execute-macro-13        S-FN4
  33. bind-to-key execute-macro-14        S-FN5
  34. bind-to-key execute-macro-15        S-FN6
  35. bind-to-key execute-macro-16        S-FN7
  36. bind-to-key execute-macro-17        S-FN8
  37. bind-to-key execute-macro-18        S-FN9
  38. bind-to-key execute-macro-19        S-FN0
  39.  
  40. ;    Set Default Global modes
  41.  
  42. add-global-mode "blue"
  43. ;bind-to-key next-page FN<
  44. ;bind-to-key previous-page FNC
  45. ;bind-to-key meta-prefix `
  46.  
  47. ;    Toggle function key window display
  48.  
  49. 1    store-macro
  50.     !if %rcfkeys
  51.         !goto rcfoff
  52.     !endif
  53.  
  54. ;    toggle function key window on
  55.     save-window
  56.     1 next-window
  57.     !if &sequal $cbufname "emacs.hlp"
  58.         delete-window
  59.     !endif
  60.     !if ¬ &sequal $cbufname "Function Keys"
  61.         1 split-current-window
  62.         1 select-buffer "Function Keys"
  63.         add-mode "red"
  64.         !force 5 resize-window
  65.         1 goto-line
  66.     !endif
  67.     set %rcfkeys TRUE
  68.     !force restore-window
  69.     !if &sequal $cbufname "Function Keys"
  70.         next-window
  71.     !endif
  72.     write-message "[Function key window ON]"
  73.     !return
  74.  
  75.     ;Toggle the function key window off
  76. *rcfoff
  77.     save-window
  78.     1 next-window
  79.     !if &sequal "Function Keys" $cbufname
  80.         delete-window
  81.     !endif
  82.     !force restore-window
  83.     write-message "[Function key window OFF]"
  84.     set %rcfkeys FALSE
  85. !endm
  86.  
  87. ;    Toggle HELP file onscreen
  88.  
  89. 2 store-macro
  90.     1 next-window
  91.  
  92.     ;Make sure the function key window isn't up!
  93.     !if &sequal $cbufname "Function Keys"
  94.         delete-window
  95.     !endif
  96.     set %rcfkeys FALSE
  97.  
  98.     ;Bring up page 1
  99.     !if ¬ &seq $cbufname "emacs.hlp"
  100.         help
  101.         8 resize-window
  102.         add-mode "red"
  103.         beginning-of-file
  104.         2 forward-character
  105.     !endif
  106.  
  107. *rchelp
  108.  
  109.     write-message "[PgUp/PgDn] Page    [FN6] EXIT     ^G  Exit leaving page on screen"
  110.     update-screen
  111.     set %rctmp >cmd
  112.     !if &seq %rctmp FNZ
  113.         beginning-of-line
  114.         !force search-reverse "=>"
  115.         1 redraw-display
  116.         !goto rchelp
  117.     !endif
  118.     !if &seq %rctmp FNV
  119.         beginning-of-line
  120.         2 forward-character
  121.         !force search-forward "=>"
  122.         1 redraw-display
  123.         !goto rchelp
  124.     !endif
  125.     !if &seq %rctmp FN6
  126.         delete-window
  127.         !if &seq %rcfkeys TRUE
  128.             set %rcfkeys FALSE
  129.             execute-macro-1
  130.         !endif
  131.         write-message "[Help Exited]"
  132.         !return
  133.     !endif
  134.     !if &seq %rctmp ^G
  135.         next-window
  136.         set %rcfkeys FALSE
  137.         write-message "[Help Aborted]"
  138.         !return
  139.     !endif
  140.     !goto rchelp
  141. !endm
  142.  
  143. ;    Load a new page
  144.  
  145. 3    store-macro
  146.     !if &seq &find newpage.cmd ""
  147.         write-message "[Can not find NEWPAGE.CMD]"
  148.         !return
  149.     !endif
  150.     execute-file newpage.cmd
  151. !endm
  152.  
  153. ;procedure to clean out the current page (which is nothing right now)
  154.  
  155. store-procedure    clean
  156.     ; nothing by default
  157. !endm
  158.  
  159. ;    Set up auto CMODE
  160.  
  161. 20    store-macro
  162.     set %rctmp &sin $cfname "."
  163.     !if &equ %rctmp 0
  164.         !return
  165.     !endif
  166.     set %rctmp &mid $cfname &add %rctmp 1 5
  167.     !if &or &seq %rctmp "c" &seq %rctmp "h"
  168.         add-mode "cmode"
  169.     !endif
  170.     !if &seq %rctmp "mss"
  171.         add-mode "wrap"
  172.     !endif
  173. !endm
  174. set $readhook execute-macro-20
  175.  
  176. ;    This function activates the function key window as
  177. ;    a legitimate place to call up function keys
  178.  
  179. 21    store-macro
  180.  
  181.     ;remember where we started, and do the mouse movement
  182.     save-window
  183.     mouse-move-down
  184.  
  185.     ;If not in the function key window... leave
  186.     !if ¬ &sequal $cbufname "Function Keys"
  187.         !return
  188.     !endif
  189.  
  190.     ;Find out what function key were gonna do
  191.     add-mode magic
  192.     2 forward-character
  193.     set %rctmp $search
  194.     !force search-reverse "[fF][0-9]"
  195.     !if &seq $status FALSE
  196.         delete-mode magic
  197.         set $search %rctmp
  198.         !return
  199.     !endif
  200.  
  201.     ;we are on the "f" or "F".  Get the function key type and number now
  202.     set $search %rctmp
  203.     set %fcase lower
  204.     !if &equ $curchar 70
  205.         set %fcase upper
  206.     !endif
  207.     1 forward-character
  208.     set %fnum &chr $curchar
  209.     1 forward-character
  210.     set %fnum &cat %fnum &chr $curchar
  211.     set %fnum &add %fnum 0
  212.     !if &equ %fnum 10
  213.         set %fnum "0"
  214.     !endif
  215.     set %fname &cat "FN" %fnum
  216.     !if &seq %fcase upper
  217.         set %fname &cat "S-" %fname
  218.     !endif
  219.  
  220.     ;save the function
  221.     set %rccmd &bind %fname
  222.     delete-mode MAGIC
  223.  
  224.     ;swallow the up-button
  225.     set %rctmp >c
  226.  
  227.     ;restore the window and exit
  228.     restore-window
  229.  
  230.     ;and then execute it
  231.     execute-named-command &ind %rccmd
  232. !endm    
  233. bind-to-key execute-macro-21 MSa
  234.  
  235. ;    bring up the function key window
  236.  
  237.     1 split-current-window
  238.     select-buffer "Function Keys"
  239.     insert-string "f1 search-> f2 <-search █    MicroEMACS:  Text Editor~n"
  240.     insert-string "f3 hunt->   f4 <-hunt   █ ~n"
  241.     insert-string "f5 fkeys    f6 help     █  Available function key Pages include:~n"
  242.     insert-string "f7 nxt wind f8 pg[    ] █    WORD  BOX  EMACS  PASCAL  C   COBOL~n"
  243.     insert-string "f9 save     f10 exit    █  [use the f8 key to load Pages]~n"
  244.     unmark-buffer
  245.     delete-window
  246.     set %rcfkeys FALSE
  247.     execute-macro-1
  248.     set $discmd TRUE
  249.